#include <iostream>
#include <string>
#include <stack>

using namespace std;

bool validate_brackets(string sequence) {
    stack<char> s1;
    for (char c : sequence) {
        if (c == '(' || c == '[' || c == '{' || c == '<') {
            s1.push(c);
        }
        else if (c == ')') {
            if (!s1.empty() && s1.top() == '(') {
                s1.pop();
            } else {
                return false;
            }
        }
        else if (c == ']') {
            if (!s1.empty() && s1.top() == '[') {
                s1.pop();
            } else {
                return false;
            }
        }
        else if (c == '}') {
            if (!s1.empty() && s1.top() == '{') {
                s1.pop();
            } else {
                return false;
            }
        }
        else if (c == '>') {
            if (!s1.empty() && s1.top() == '<') {
                s1.pop();
            } else {
                return false;
            }
        }
    }
    return s1.empty();
}

int main() {

    string sequence;
    cout << "Введите скобочную последовательность: ";
    cin >> sequence;
    bool result = validate_brackets(sequence);
    if (result) {
        cout << "True" << endl;
    } else {
        cout << "False" << endl;
    }
    return 0;
}
